package com.lt.flashcard.bind;

import org.zkoss.bind.ValidationContext;
import org.zkoss.bind.validator.AbstractValidator;

import com.lt.flashcard.Utility;
import com.lt.flashcard.model.service.Repository;
import com.lt.flashcard.model.service.UserService;

public class UniqueEmailValidator extends AbstractValidator {

	public void validate(ValidationContext ctx) {
		String email = (String) ctx.getProperty().getValue();
		if(Utility.isEmptyString(email)) {
			addInvalidMessage(ctx, "Phải nhập email");
			return;
		}
		if(!email.matches("^.+@.+.[a-z]+$")) {
			addInvalidMessage(ctx, "Email không hợp lệ");
			return;
		}
		UserService srv = Repository.getInstance().getUserService();
		if(srv.isEmailExist(email)) {
			addInvalidMessage(ctx, "Email đã được sử dụng");
		}
	}

}
